/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2002-2006
* Sleepycat Software. All rights reserved.
*
* $Id: DbInternal.java,v 1.1 2006/05/06 08:59:30 ckaestne Exp $
*/
package com.sleepycat.je;
import java.io.File;
import com.sleepycat.je.dbi.CursorImpl;
import com.sleepycat.je.dbi.DatabaseImpl;
import com.sleepycat.je.dbi.EnvironmentImpl;
import com.sleepycat.je.dbi.GetMode;
import com.sleepycat.je.txn.Locker;
/**
* For internal use only. It serves to shelter methods that must be public to
* be used by other BDBJE packages but that are not part of the public api
* available to applications.
*/
public class DbInternal {
/**
* Proxy to Database.invalidate()
*/
public static void dbInvalidate(Database db) {
db.invalidate();
}
/**
* Proxy to Database.setHandleLockOwnerTxn
*/
public static void dbSetHandleLocker(Database db, Locker locker) {
db.setHandleLocker(locker);
}
/**
* Proxy to Environment.getDbEnvironment
*/
public static EnvironmentImpl envGetEnvironmentImpl(Environment env) {
return env.getEnvironmentImpl();
}
/**
* Proxy to new Cursor(DatabaseImpl, Locker, CursorConfig)
*/
public static Cursor newCursor(DatabaseImpl dbImpl,
Locker locker,
CursorConfig cursorConfig)
throws DatabaseException {
return new Cursor(dbImpl, locker, cursorConfig);
}
/**
* Proxy to new Cursor.position().
*/
public static OperationStatus position(Cursor cursor,
DatabaseEntry key,
DatabaseEntry data,
LockMode lockMode,
boolean first)
throws DatabaseException {
return cursor.position(key, data, lockMode, first);
}
/**
* Proxy to new Cursor.retrieveNext().
*/
public static OperationStatus retrieveNext(Cursor cursor,
DatabaseEntry key,
DatabaseEntry data,
LockMode lockMode,
GetMode getMode)
throws DatabaseException {
return cursor.retrieveNext(key, data, lockMode, getMode);
}
/**
* Proxy to Cursor.advanceCursor()
*/
public static boolean advanceCursor(Cursor cursor,
DatabaseEntry key,
DatabaseEntry data) {
return cursor.advanceCursor(key, data);
}
/**
* Proxy to Cursor.getCursorImpl()
*/
public static CursorImpl getCursorImpl(Cursor cursor) {
return cursor.getCursorImpl();
}
/**
* Proxy to Database.getDatabase()
*/
public static DatabaseImpl dbGetDatabaseImpl(Database db) {
return db.getDatabaseImpl();
}
/**
* Proxy to JoinCursor.getSortedCursors()
*/
public static Cursor[] getSortedCursors(JoinCursor cursor) {
return cursor.getSortedCursors();
}
/**
* Proxy to EnvironmentConfig.setLoadPropertyFile()
*/
public static void setLoadPropertyFile(EnvironmentConfig config,
boolean loadProperties) {
config.setLoadPropertyFile(loadProperties);
}
/**
* Proxy to EnvironmentConfig.setCreateUP()
*/
public static void setCreateUP(EnvironmentConfig config,
boolean checkpointUP) {
config.setCreateUP(checkpointUP);
}
/**
* Proxy to EnvironmentConfig.getCreateUP()
*/
public static boolean getCreateUP(EnvironmentConfig config) {
return config.getCreateUP();
}
/**
* Proxy to EnvironmentConfig.setCheckpointUP()
*/
public static void setCheckpointUP(EnvironmentConfig config,
boolean checkpointUP) {
config.setCheckpointUP(checkpointUP);
}
/**
* Proxy to EnvironmentConfig.getCheckpointUP()
*/
public static boolean getCheckpointUP(EnvironmentConfig config) {
return config.getCheckpointUP();
}
/**
* Proxy to EnvironmentConfig.setTxnReadCommitted()
*/
public static void setTxnReadCommitted(EnvironmentConfig config,
boolean txnReadCommitted) {
config.setTxnReadCommitted(txnReadCommitted);
}
/**
* Proxy to EnvironmentConfig.setTxnReadCommitted()
*/
public static boolean getTxnReadCommitted(EnvironmentConfig config) {
return config.getTxnReadCommitted();
}
/**
* Proxy to EnvironmentConfig.cloneConfig()
*/
public static EnvironmentConfig cloneConfig(EnvironmentConfig config) {
return config.cloneConfig();
}
/**
* Proxy to EnvironmentMutableConfig.cloneMutableConfig()
*/
public static
EnvironmentMutableConfig cloneMutableConfig(EnvironmentMutableConfig
config) {
return config.cloneMutableConfig();
}
/**
* Proxy to EnvironmentMutableConfig.checkImmutablePropsForEquality()
*/
public static void
checkImmutablePropsForEquality(EnvironmentMutableConfig config,
EnvironmentMutableConfig passedConfig)
throws IllegalArgumentException {
config.checkImmutablePropsForEquality(passedConfig);
}
/**
* Proxy to EnvironmentMutableConfig.copyMutablePropsTo()
*/
public static void copyMutablePropsTo(EnvironmentMutableConfig config,
EnvironmentMutableConfig toConfig) {
config.copyMutablePropsTo(toConfig);
}
/**
* Proxy to EnvironmentMutableConfig.validateParams.
*/
public static void disableParameterValidation
(EnvironmentMutableConfig config) {
config.setValidateParams(false);
}
/**
* Proxy to DatabaseConfig.setUseExistingConfig()
*/
public static void setUseExistingConfig(DatabaseConfig config,
boolean useExistingConfig) {
config.setUseExistingConfig(useExistingConfig);
}
/**
* Proxy to DatabaseConfig.match(DatabaseConfig()
*/
public static void databaseConfigValidate(DatabaseConfig config1,
DatabaseConfig config2)
throws DatabaseException {
config1.validate(config2);
}
/**
* Proxy to Transaction.getLocker()
*/
public static Locker getLocker(Transaction txn)
throws DatabaseException {
return txn.getLocker();
}
/**
* Proxy to Environment.getDefaultTxnConfig()
*/
public static TransactionConfig getDefaultTxnConfig(Environment env) {
return env.getDefaultTxnConfig();
}
/**
* Get an Environment only if the environment is already open. This
* will register this Enviroment in the EnvironmentImpl's reference count,
* but will not configure the environment.
* @return null if the environment is not already open.
*/
public static Environment
getEnvironmentShell(File environmentHome) {
Environment env = null;
try {
env = new Environment(environmentHome);
/* If the environment is not already open, return a null. */
if (env.getEnvironmentImpl() == null) {
env = null;
}
} catch (DatabaseException e) {
/*
* Klockwork - ok
* the environment is not valid.
*/
}
return env;
}
}